#include<iostream>
#include<cstring>
#include<algorithm>
#define maxn 3000
using namespace std;

int n,f;
double l,s,mid;
double a[200];
double d[200];
double sum[200];

int main(){

	memset(a,0,sizeof(a));
	memset(d,0,sizeof(d));//记录平均数的差值；
	memset(sum,0,sizeof(sum));
	l = 0; s = maxn;mid = 0 ;
	cin >> n >> f;
	for(int i = 1 ; i<= n ; ++i){
		cin >> a[i];
		l = max(l,a[i]);
		s = min(s,a[i]);
		//sum[i] = sum[i-1] + a[i];//计算前缀和
	}

	while(l-s > 1e-4){
		mid = (l+s)/2;//是否为double？
		for(int i = 1 ; i <=n ;++i){
			d[i] = a[i] -mid;//计算差值
		}
		double max_sub_d = -1e9; double min_sub_d = 1e9;
		for(int i =1 ; i <= n ;++i){
			sum[i] = sum[i-1] +d[i];//与平均值的差值比较mid取得是否合适
		}
		for(int i = f ; i <= n;++i){
			min_sub_d = min(min_sub_d,sum[i-f]);
			max_sub_d = max(max_sub_d,sum[i]-min_sub_d);//算出最大k项至n中 最大的几项
		}
		if(max_sub_d >= 0) { //如果当前的平均值普遍偏大则扩大左极限范围
			s = mid ;
		}
		else {//否则就缩小右极限
			l = mid; //平均值是个基准数
		}

	}

	cout << int(l*1000) <<endl;
}
